<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>v_sdirx: xv_sdirx_intr.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">v_sdirx
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xv__sdirx__intr_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xv_sdirx_intr.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains interrupt related functions for Xilinx SDI RX core. </p>
<p>Please see <a class="el" href="xv__sdirx_8h.html">xv_sdirx.h</a> for more details of the driver.</p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver     Who        Date         Changes
</p>
<hr/>
<p>
1.0     jsr    07/17/17 Initial release.
1.3   jsr    07/03/18 corrected XVIDC_VM_720x480_60_I as XVIDC_VM_720x486_60_I
      jsr    10/05/18 Moved 3GB specific video modes timing
                parameters from video common library
                to SDI common driver
1.4     jb     03/26/20 Added HFR support.
                        96Hz and 96/1.001 Hz resolution is not supported.
                        12G 12bit and 6G 10bit is not supported for HFR</pre><pre></pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6914e6b029c6433c3e339fb350a8e6bb"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#a6914e6b029c6433c3e339fb350a8e6bb">XV_SdiRx_GetIntrEnable</a> (<a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *InstancePtr)</td></tr>
<tr class="memdesc:a6914e6b029c6433c3e339fb350a8e6bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will get the interrupt mask set (enabled) in the SDI Rx core.  <a href="#a6914e6b029c6433c3e339fb350a8e6bb">More...</a><br/></td></tr>
<tr class="separator:a6914e6b029c6433c3e339fb350a8e6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51f76f20ef6b9169790e73b79ccba859"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#a51f76f20ef6b9169790e73b79ccba859">XV_SdiRx_GetIntrStatus</a> (<a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *InstancePtr)</td></tr>
<tr class="memdesc:a51f76f20ef6b9169790e73b79ccba859"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will get the list of interrupts pending in the Interrupt Status Register of the SDI Rx core.  <a href="#a51f76f20ef6b9169790e73b79ccba859">More...</a><br/></td></tr>
<tr class="separator:a51f76f20ef6b9169790e73b79ccba859"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af464c662bc41fd9d6b3f3e07847ea9eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#af464c662bc41fd9d6b3f3e07847ea9eb">XV_SdiRx_InterruptClear</a> (<a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *InstancePtr, u32 Mask)</td></tr>
<tr class="memdesc:af464c662bc41fd9d6b3f3e07847ea9eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will clear the interrupts set in the Interrupt Status Register of the SDI Rx core.  <a href="#af464c662bc41fd9d6b3f3e07847ea9eb">More...</a><br/></td></tr>
<tr class="separator:af464c662bc41fd9d6b3f3e07847ea9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c7f59a6f09ddc787a503826a59c267f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#a5c7f59a6f09ddc787a503826a59c267f">XV_SdiRx_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr class="memdesc:a5c7f59a6f09ddc787a503826a59c267f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the interrupt handler for the SDI RX driver.  <a href="#a5c7f59a6f09ddc787a503826a59c267f">More...</a><br/></td></tr>
<tr class="separator:a5c7f59a6f09ddc787a503826a59c267f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930b44edf2e883bcd5c3ac06e8b257a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#a930b44edf2e883bcd5c3ac06e8b257a0">XV_SdiRx_SetCallback</a> (<a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)</td></tr>
<tr class="memdesc:a930b44edf2e883bcd5c3ac06e8b257a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function installs an asynchronous callback function for the given HandlerType:  <a href="#a930b44edf2e883bcd5c3ac06e8b257a0">More...</a><br/></td></tr>
<tr class="separator:a930b44edf2e883bcd5c3ac06e8b257a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed746e1235a8a4799a8c61ec02a8f52b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#aed746e1235a8a4799a8c61ec02a8f52b">XV_SdiRx_IntrEnable</a> (<a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *InstancePtr, u32 Mask)</td></tr>
<tr class="memdesc:aed746e1235a8a4799a8c61ec02a8f52b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the selected interrupt.  <a href="#aed746e1235a8a4799a8c61ec02a8f52b">More...</a><br/></td></tr>
<tr class="separator:aed746e1235a8a4799a8c61ec02a8f52b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f7bbadf43e42e34a23a2fb23609dab7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xv__sdirx__intr_8c.html#a3f7bbadf43e42e34a23a2fb23609dab7">XV_SdiRx_IntrDisable</a> (<a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *InstancePtr, u32 Mask)</td></tr>
<tr class="memdesc:a3f7bbadf43e42e34a23a2fb23609dab7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the selected interrupt.  <a href="#a3f7bbadf43e42e34a23a2fb23609dab7">More...</a><br/></td></tr>
<tr class="separator:a3f7bbadf43e42e34a23a2fb23609dab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a6914e6b029c6433c3e339fb350a8e6bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XV_SdiRx_GetIntrEnable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will get the interrupt mask set (enabled) in the SDI Rx core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the <a class="el" href="struct_x_v___sdi_rx.html" title="The XSdiRx driver instance data. ">XV_SdiRx</a> instance to operate on</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Interrupt Mask with bits set for corresponding interrupt in Interrupt enable register</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx___config.html#aa1e4f581bc35c38849bb3d2550d247e5">XV_SdiRx_Config::BaseAddress</a>, <a class="el" href="struct_x_v___sdi_rx.html#a8eed60af4a10d195439f698b77e8af33">XV_SdiRx::Config</a>, and <a class="el" href="xv__sdirx__hw_8h.html#a11c28dcf104dea98ffe4e3eef0a600cb">XV_SdiRx_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="a51f76f20ef6b9169790e73b79ccba859"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XV_SdiRx_GetIntrStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will get the list of interrupts pending in the Interrupt Status Register of the SDI Rx core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the <a class="el" href="struct_x_v___sdi_rx.html" title="The XSdiRx driver instance data. ">XV_SdiRx</a> instance to operate on</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Interrupt Mask with bits set for corresponding interrupt in Interrupt Status register</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx___config.html#aa1e4f581bc35c38849bb3d2550d247e5">XV_SdiRx_Config::BaseAddress</a>, <a class="el" href="struct_x_v___sdi_rx.html#a8eed60af4a10d195439f698b77e8af33">XV_SdiRx::Config</a>, and <a class="el" href="xv__sdirx__hw_8h.html#a11c28dcf104dea98ffe4e3eef0a600cb">XV_SdiRx_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xv__sdirx__intr_8c.html#a5c7f59a6f09ddc787a503826a59c267f">XV_SdiRx_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="af464c662bc41fd9d6b3f3e07847ea9eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XV_SdiRx_InterruptClear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will clear the interrupts set in the Interrupt Status Register of the SDI Rx core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is the <a class="el" href="struct_x_v___sdi_rx.html" title="The XSdiRx driver instance data. ">XV_SdiRx</a> instance to operate on </td></tr>
    <tr><td class="paramname">Mask</td><td>is Interrupt Mask with bits set for corresponding interrupt to be cleared in the Interrupt Status register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx___config.html#aa1e4f581bc35c38849bb3d2550d247e5">XV_SdiRx_Config::BaseAddress</a>, <a class="el" href="struct_x_v___sdi_rx.html#a8eed60af4a10d195439f698b77e8af33">XV_SdiRx::Config</a>, <a class="el" href="xv__sdirx__hw_8h.html#a11c28dcf104dea98ffe4e3eef0a600cb">XV_SdiRx_ReadReg</a>, and <a class="el" href="xv__sdirx__hw_8h.html#a863c6b811d56e05b84d81cbe84d14d0d">XV_SdiRx_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xv__sdirx__intr_8c.html#a5c7f59a6f09ddc787a503826a59c267f">XV_SdiRx_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a3f7bbadf43e42e34a23a2fb23609dab7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XV_SdiRx_IntrDisable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function disables the selected interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_v___sdi_rx.html" title="The XSdiRx driver instance data. ">XV_SdiRx</a> core instance. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the interrupt mask which need to be disabled in core.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx___config.html#aa1e4f581bc35c38849bb3d2550d247e5">XV_SdiRx_Config::BaseAddress</a>, <a class="el" href="struct_x_v___sdi_rx.html#a8eed60af4a10d195439f698b77e8af33">XV_SdiRx::Config</a>, and <a class="el" href="xv__sdirx__hw_8h.html#a863c6b811d56e05b84d81cbe84d14d0d">XV_SdiRx_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xv__sdirx_8h.html#a4a70cc2c30fe2cc5d5cb478159dbe5fa">XV_SdiRx_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="aed746e1235a8a4799a8c61ec02a8f52b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XV_SdiRx_IntrEnable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables the selected interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_v___sdi_rx.html" title="The XSdiRx driver instance data. ">XV_SdiRx</a> core instance. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the interrupt mask which need to be enabled in core.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx___config.html#aa1e4f581bc35c38849bb3d2550d247e5">XV_SdiRx_Config::BaseAddress</a>, <a class="el" href="struct_x_v___sdi_rx.html#a8eed60af4a10d195439f698b77e8af33">XV_SdiRx::Config</a>, <a class="el" href="xv__sdirx__hw_8h.html#a11c28dcf104dea98ffe4e3eef0a600cb">XV_SdiRx_ReadReg</a>, and <a class="el" href="xv__sdirx__hw_8h.html#a863c6b811d56e05b84d81cbe84d14d0d">XV_SdiRx_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="a5c7f59a6f09ddc787a503826a59c267f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XV_SdiRx_IntrHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the interrupt handler for the SDI RX driver. </p>
<p>This handler reads the pending interrupt for video lock or video unlock interrupts, determines the source of the interrupts, clears the interrupts and calls callbacks accordingly.</p>
<p>The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <a class="el" href="xv__sdirx_8h.html#a930b44edf2e883bcd5c3ac06e8b257a0" title="This function installs an asynchronous callback function for the given HandlerType: ...">XV_SdiRx_SetCallback()</a> during initialization phase. An example delivered with this driver demonstrates how this could be done.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_v___sdi_rx.html" title="The XSdiRx driver instance data. ">XV_SdiRx</a> instance that just interrupted.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx.html#a011779d1e2f7850b4d45b590e4f3b38a">XV_SdiRx::IsReady</a>, <a class="el" href="xv__sdirx_8h.html#a51f76f20ef6b9169790e73b79ccba859">XV_SdiRx_GetIntrStatus()</a>, and <a class="el" href="xv__sdirx_8h.html#af464c662bc41fd9d6b3f3e07847ea9eb">XV_SdiRx_InterruptClear()</a>.</p>

</div>
</div>
<a class="anchor" id="a930b44edf2e883bcd5c3ac06e8b257a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XV_SdiRx_SetCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_v___sdi_rx.html">XV_SdiRx</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>HandlerType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function installs an asynchronous callback function for the given HandlerType: </p>
<pre>
HandlerType                             Callback Function Type
-------------------------               ---------------------------------------
(XV_SDIRX_HANDLER_STREAM_DOWN)  StreamDownCallback
(XV_SDIRX_HANDLER_STREAM_UP)            StreamUpCallback
(XV_SDIRX_HANDLER_OVERFLOW)             OverFlowCallback
(XV_SDIRX_HANDLER_UNDERFLOW)            UnderFlowCallback
(XV_SDIRX_HANDLER_VSYNC)                VsyncCallback
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the SDI RX core instance. </td></tr>
    <tr><td class="paramname">HandlerType</td><td>specifies the type of handler. </td></tr>
    <tr><td class="paramname">CallbackFunc</td><td>is the address of the callback function. </td></tr>
    <tr><td class="paramname">CallbackRef</td><td>is a user data item that will be passed to the callback function when it is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if callback function installed successfully.</li>
<li>XST_INVALID_PARAM when HandlerType is invalid.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Invoking this function for a handler that already has been installed replaces it with the new handler. </dd></dl>

<p>References <a class="el" href="struct_x_v___sdi_rx.html#a095630631d7ca3fd051ad41c208960fc">XV_SdiRx::OverFlowCallback</a>, <a class="el" href="struct_x_v___sdi_rx.html#a7d49c1f27854e35c8a0eefa2db64c5aa">XV_SdiRx::OverFlowRef</a>, <a class="el" href="struct_x_v___sdi_rx.html#ad187f87f6a570361a3e823fe1401b404">XV_SdiRx::StreamDownCallback</a>, <a class="el" href="struct_x_v___sdi_rx.html#acbb234ff7df8b3eb6f3ce0fdb7263700">XV_SdiRx::StreamDownRef</a>, <a class="el" href="struct_x_v___sdi_rx.html#a558ffb2ed6df839f8439097eabe5a15a">XV_SdiRx::StreamUpCallback</a>, <a class="el" href="struct_x_v___sdi_rx.html#a70786d1d1fe49fa9ea36131102f0215b">XV_SdiRx::StreamUpRef</a>, <a class="el" href="struct_x_v___sdi_rx.html#a8642841c2f90dbc4e654e4ff13a2aa11">XV_SdiRx::UnderFlowCallback</a>, <a class="el" href="struct_x_v___sdi_rx.html#acc1d2eba7a9bd5ff1c216696f433ced0">XV_SdiRx::UnderFlowRef</a>, <a class="el" href="struct_x_v___sdi_rx.html#ac23dd379bfae979bc3fec65fbadfd47d">XV_SdiRx::VsyncCallback</a>, and <a class="el" href="struct_x_v___sdi_rx.html#ae5bc43239cf136635b68e61657ea56b5">XV_SdiRx::VsyncRef</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
